Autogenerated HTML docs for v1.6.5.2-140-g5f809 
diff --git a/diff-options.txt b/diff-options.txt index 9276fae..e26b847 100644 --- a/diff-options.txt +++ b/diff-options.txt 
@@ -87,6 +87,13 @@ 	Show only names and status of changed files. See the description 	of the `--diff-filter` option on what the status letters mean.   +--submodule[=<format>]:: +	Chose the output format for submodule differences. <format> can be one of +	'short' and 'log'. 'short' just shows pairs of commit names, this format +	is used when this option is not given. 'log' is the default value for this +	option and lists the commits in that commit range like the 'summary' +	option of linkgit:git-submodule[1] does. +  --color:: 	Show colored diff.   
diff --git a/fetch-options.txt b/fetch-options.txt index 5eb2b0e..2886874 100644 --- a/fetch-options.txt +++ b/fetch-options.txt 
@@ -1,25 +1,13 @@ -ifndef::git-pull[] --q:: ---quiet:: -	Pass --quiet to git-fetch-pack and silence any other internally -	used git commands. - --v:: ---verbose:: -	Be verbose. -endif::git-pull[] -  -a::  --append:: 	Append ref names and object names of fetched refs to the 	existing contents of `.git/FETCH_HEAD`. Without this 	option old data in `.git/FETCH_HEAD` will be overwritten.   ---upload-pack <upload-pack>:: -	When given, and the repository to fetch from is handled -	by 'git-fetch-pack', '--exec=<upload-pack>' is passed to -	the command to specify non-default path for the command -	run on the other end. +--depth=<depth>:: +	Deepen the history of a 'shallow' repository created by +	`git clone` with `--depth=<depth>` option (see linkgit:git-clone[1]) +	by the specified number of commits.    -f::  --force:: @@ -29,6 +17,10 @@ 	fetches is a descendant of `<lbranch>`. This option 	overrides that check.   +-k:: +--keep:: +	Keep downloaded pack. +  ifdef::git-pull[]  --no-tags::  endif::git-pull[] @@ -49,10 +41,6 @@ 	flag lets all tags and their associated objects be 	downloaded.   --k:: ---keep:: -	Keep downloaded pack. -  -u::  --update-head-ok:: 	By default 'git-fetch' refuses to update the head which @@ -62,7 +50,19 @@ 	implementing your own Porcelain you are not supposed to 	use it.   ---depth=<depth>:: -	Deepen the history of a 'shallow' repository created by -	`git clone` with `--depth=<depth>` option (see linkgit:git-clone[1]) -	by the specified number of commits. +--upload-pack <upload-pack>:: +	When given, and the repository to fetch from is handled +	by 'git-fetch-pack', '--exec=<upload-pack>' is passed to +	the command to specify non-default path for the command +	run on the other end. + +ifndef::git-pull[] +-q:: +--quiet:: +	Pass --quiet to git-fetch-pack and silence any other internally +	used git commands. + +-v:: +--verbose:: +	Be verbose. +endif::git-pull[] 
diff --git a/git-bisect.html b/git-bisect.html index 285fd5d..52afca3 100644 --- a/git-bisect.html +++ b/git-bisect.html 
@@ -333,7 +333,7 @@  git bisect bad [&lt;rev&gt;]   git bisect good [&lt;rev&gt;...]   git bisect skip [(&lt;rev&gt;|&lt;range&gt;)...]  -git bisect reset [&lt;branch&gt;]  +git bisect reset [&lt;commit&gt;]   git bisect visualize   git bisect replay &lt;logfile&gt;   git bisect log  @@ -380,15 +380,24 @@  <div class="para"><p>Eventually there will be no more revisions left to bisect, and you   will have been left with the first bad kernel revision in "refs/bisect/bad".</p></div>   <h3 id="_bisect_reset">Bisect reset</h3><div style="clear:left"></div>  -<div class="para"><p>To return to the original head after a bisect session, issue the  -following command:</p></div>  +<div class="para"><p>After a bisect session, to clean up the bisection state and return to  +the original HEAD, issue the following command:</p></div>   <div class="listingblock">   <div class="content">   <pre><tt>$ git bisect reset</tt></pre>   </div></div>  -<div class="para"><p>This resets the tree to the original branch instead of being on the  -bisection commit ("git bisect start" will also do that, as it resets  -the bisection state).</p></div>  +<div class="para"><p>By default, this will return your tree to the commit that was checked  +out before <tt>git bisect start</tt>. (A new <tt>git bisect start</tt> will also do  +that, as it cleans up the old bisection state.)</p></div>  +<div class="para"><p>With an optional argument, you can return to a different commit  +instead:</p></div>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ git bisect reset &lt;commit&gt;</tt></pre>  +</div></div>  +<div class="para"><p>For example, <tt>git bisect reset HEAD</tt> will leave you on the current  +bisection commit and avoid switching commits at all, while <tt>git bisect  +reset bisect/bad</tt> will check out the first bad revision.</p></div>   <h3 id="_bisect_visualize">Bisect visualize</h3><div style="clear:left"></div>   <div class="para"><p>To see the currently remaining suspects in <em>gitk</em>, issue the following   command during the bisection process:</p></div>  @@ -599,7 +608,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-02 03:16:40 UTC  +Last updated 2009-10-31 04:03:02 UTC   </div>   </div>   </body>  
diff --git a/git-bisect.txt b/git-bisect.txt index 63e7a42..d2ffae0 100644 --- a/git-bisect.txt +++ b/git-bisect.txt 
@@ -20,7 +20,7 @@  git bisect bad [<rev>]  git bisect good [<rev>...]  git bisect skip [(<rev>|<range>)...] - git bisect reset [<branch>] + git bisect reset [<commit>]  git bisect visualize  git bisect replay <logfile>  git bisect log @@ -81,16 +81,27 @@  Bisect reset  ~~~~~~~~~~~~   -To return to the original head after a bisect session, issue the -following command: +After a bisect session, to clean up the bisection state and return to +the original HEAD, issue the following command:    ------------------------------------------------  $ git bisect reset  ------------------------------------------------   -This resets the tree to the original branch instead of being on the -bisection commit ("git bisect start" will also do that, as it resets -the bisection state). +By default, this will return your tree to the commit that was checked +out before `git bisect start`. (A new `git bisect start` will also do +that, as it cleans up the old bisection state.) + +With an optional argument, you can return to a different commit +instead: + +------------------------------------------------ +$ git bisect reset <commit> +------------------------------------------------ + +For example, `git bisect reset HEAD` will leave you on the current +bisection commit and avoid switching commits at all, while `git bisect +reset bisect/bad` will check out the first bad revision.    Bisect visualize  ~~~~~~~~~~~~~~~~ 
diff --git a/git-check-ref-format.html b/git-check-ref-format.html index d9dadd3..36c323c 100644 --- a/git-check-ref-format.html +++ b/git-check-ref-format.html 
@@ -322,6 +322,7 @@  <div class="sectionbody">   <div class="verseblock">   <div class="content"><em>git check-ref-format</em> &lt;refname&gt;  +<em>git check-ref-format</em> --print &lt;refname&gt;   <em>git check-ref-format</em> --branch &lt;branchname-shorthand&gt;</div></div>   </div>   <h2 id="_description">DESCRIPTION</h2>  @@ -415,24 +416,38 @@  </p>   </li>   </ol></div>  +<div class="para"><p>With the <tt>--print</tt> option, if <em>refname</em> is acceptable, it prints the  +canonicalized name of a hypothetical reference with that name. That is,  +it prints <em>refname</em> with any extra <tt>/</tt> characters removed.</p></div>   <div class="para"><p>With the <tt>--branch</tt> option, it expands the &#8220;previous branch syntax&#8221;   <tt>@{-n}</tt>. For example, <tt>@{-1}</tt> is a way to refer the last branch you   were on. This option should be used by porcelains to accept this   syntax anywhere a branch name is expected, so they can act as if you   typed the branch name.</p></div>   </div>  -<h2 id="_example">EXAMPLE</h2>  +<h2 id="_examples">EXAMPLES</h2>   <div class="sectionbody">  -<div class="vlist"><dl>  -<dt>  -git check-ref-format --branch @{-1}  -</dt>  -<dd>  +<div class="ilist"><ul>  +<li>   <p>  -Print the name of the previous branch.  +Print the name of the previous branch:   </p>  -</dd>  -</dl></div>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ git check-ref-format --branch @{-1}</tt></pre>  +</div></div>  +</li>  +<li>  +<p>  +Determine the reference name to use for a new branch:  +</p>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ ref=$(git check-ref-format --print "refs/heads/$newbranch") ||  +die "we do not like '$newbranch' as a branch name."</tt></pre>  +</div></div>  +</li>  +</ul></div>   </div>   <h2 id="_git">GIT</h2>   <div class="sectionbody">  @@ -440,7 +455,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-10-19 08:04:09 UTC  +Last updated 2009-10-31 04:03:02 UTC   </div>   </div>   </body>  
diff --git a/git-check-ref-format.txt b/git-check-ref-format.txt index e9b3b40..0aeef24 100644 --- a/git-check-ref-format.txt +++ b/git-check-ref-format.txt 
@@ -9,6 +9,7 @@  --------  [verse]  'git check-ref-format' <refname> +'git check-ref-format' --print <refname>  'git check-ref-format' --branch <branchname-shorthand>    DESCRIPTION @@ -63,19 +64,31 @@    . at-open-brace `@{` is used as a notation to access a reflog entry.   +With the `--print` option, if 'refname' is acceptable, it prints the +canonicalized name of a hypothetical reference with that name. That is, +it prints 'refname' with any extra `/` characters removed. +  With the `--branch` option, it expands the ``previous branch syntax''  `@{-n}`. For example, `@{-1}` is a way to refer the last branch you  were on. This option should be used by porcelains to accept this  syntax anywhere a branch name is expected, so they can act as if you  typed the branch name.   -EXAMPLE -------- +EXAMPLES +--------   -git check-ref-format --branch @{-1}:: +* Print the name of the previous branch: ++ +------------ +$ git check-ref-format --branch @{-1} +------------   -Print the name of the previous branch. - +* Determine the reference name to use for a new branch: ++ +------------ +$ ref=$(git check-ref-format --print "refs/heads/$newbranch") || +die "we do not like '$newbranch' as a branch name." +------------    GIT  --- 
diff --git a/git-describe.html b/git-describe.html index 13b8a91..7d3582a 100644 --- a/git-describe.html +++ b/git-describe.html 
@@ -380,7 +380,9 @@  <dd>   <p>   Instead of using the default 7 hexadecimal digits as the  - abbreviated object name, use &lt;n&gt; digits.  + abbreviated object name, use &lt;n&gt; digits, or as many digits  + as needed to form a unique object name. An &lt;n&gt; of 0  + will suppress long format, only showing the closest tag.   </p>   </dd>   <dt>  @@ -424,8 +426,8 @@  This is useful when you want to see parts of the commit object name   in "describe" output, even when the commit in question happens to be   a tagged version. Instead of just emitting the tag name, it will  - describe such a commit as v1.2-0-deadbeef (0th commit since tag v1.2  - that points at object deadbeef&#8230;.).  + describe such a commit as v1.2-0-gdeadbee (0th commit since tag v1.2  + that points at object deadbee&#8230;.).   </p>   </dd>   <dt>  @@ -479,7 +481,7 @@  </div></div>   <div class="literalblock">   <div class="content">  -<pre><tt>[torvalds@g5 git]$ git describe --all HEAD^  +<pre><tt>[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^   heads/lt/describe-7-g975b</tt></pre>   </div></div>   <div class="para"><p>With --abbrev set to 0, the command can be used to find the  @@ -489,6 +491,11 @@  <pre><tt>[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2   tags/v1.0.0</tt></pre>   </div></div>  +<div class="para"><p>Note that the suffix you get if you type these commands today may be  +longer than what Linus saw above when he ran this command, as your  +git repository may have new commits whose object names begin with  +975b that did not exist back then, and "-g975b" suffix alone may not  +be sufficient to disambiguate these commits.</p></div>   </div>   <h2 id="_search_strategy">SEARCH STRATEGY</h2>   <div class="sectionbody">  @@ -523,7 +530,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-01 02:30:47 UTC  +Last updated 2009-10-31 04:03:03 UTC   </div>   </div>   </body>  
diff --git a/git-describe.txt b/git-describe.txt index b231dbb..e9dbca7 100644 --- a/git-describe.txt +++ b/git-describe.txt 
@@ -44,7 +44,9 @@    --abbrev=<n>:: 	Instead of using the default 7 hexadecimal digits as the -	abbreviated object name, use <n> digits. +	abbreviated object name, use <n> digits, or as many digits +	as needed to form a unique object name. An <n> of 0 +	will suppress long format, only showing the closest tag.    --candidates=<n>:: 	Instead of considering only the 10 most recent tags as @@ -68,8 +70,8 @@ 	This is useful when you want to see parts of the commit object name 	in "describe" output, even when the commit in question happens to be 	a tagged version. Instead of just emitting the tag name, it will -	describe such a commit as v1.2-0-deadbeef (0th commit since tag v1.2 -	that points at object deadbeef....). +	describe such a commit as v1.2-0-gdeadbee (0th commit since tag v1.2 +	that points at object deadbee....).    --match <pattern>:: 	Only consider tags matching the given pattern (can be used to avoid @@ -108,7 +110,7 @@ 	[torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2 	tags/v1.0.0-21-g975b   -	[torvalds@g5 git]$ git describe --all HEAD^ +	[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^ 	heads/lt/describe-7-g975b    With --abbrev set to 0, the command can be used to find the @@ -117,6 +119,13 @@ 	[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2 	tags/v1.0.0   +Note that the suffix you get if you type these commands today may be +longer than what Linus saw above when he ran this command, as your +git repository may have new commits whose object names begin with +975b that did not exist back then, and "-g975b" suffix alone may not +be sufficient to disambiguate these commits. + +  SEARCH STRATEGY  ---------------   
diff --git a/git-diff-files.html b/git-diff-files.html index 78c4644..fed7cf0 100644 --- a/git-diff-files.html +++ b/git-diff-files.html 
@@ -480,6 +480,18 @@  </p>   </dd>   <dt>  +--submodule[=&lt;format&gt;]  +</dt>  +<dd>  +<p>  + Chose the output format for submodule differences. &lt;format&gt; can be one of  + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format  + is used when this option is not given. <em>log</em> is the default value for this  + option and lists the commits in that commit range like the <em>summary</em>  + option of <a href="git-submodule.html">git-submodule(1)</a> does.  +</p>  +</dd>  +<dt>   --color   </dt>   <dd>  @@ -1120,7 +1132,7 @@  </div></div>   <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is   involved. Especially, even for a creation or a deletion,  -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>  +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>   <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the   name of the source file of the rename/copy and the name of   the file that rename/copy produces, respectively.</p></div>  @@ -1413,7 +1425,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-29 08:35:00 UTC  +Last updated 2009-10-31 04:03:03 UTC   </div>   </div>   </body>  
diff --git a/git-diff-index.html b/git-diff-index.html index 71f8a8e..26d4cfe 100644 --- a/git-diff-index.html +++ b/git-diff-index.html 
@@ -481,6 +481,18 @@  </p>   </dd>   <dt>  +--submodule[=&lt;format&gt;]  +</dt>  +<dd>  +<p>  + Chose the output format for submodule differences. &lt;format&gt; can be one of  + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format  + is used when this option is not given. <em>log</em> is the default value for this  + option and lists the commits in that commit range like the <em>summary</em>  + option of <a href="git-submodule.html">git-submodule(1)</a> does.  +</p>  +</dd>  +<dt>   --color   </dt>   <dd>  @@ -1104,7 +1116,7 @@  </div></div>   <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is   involved. Especially, even for a creation or a deletion,  -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>  +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>   <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the   name of the source file of the rename/copy and the name of   the file that rename/copy produces, respectively.</p></div>  @@ -1491,7 +1503,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-29 08:35:00 UTC  +Last updated 2009-10-31 04:03:03 UTC   </div>   </div>   </body>  
diff --git a/git-diff-tree.html b/git-diff-tree.html index f3fb8a2..abf0e6f 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html 
@@ -483,6 +483,18 @@  </p>   </dd>   <dt>  +--submodule[=&lt;format&gt;]  +</dt>  +<dd>  +<p>  + Chose the output format for submodule differences. &lt;format&gt; can be one of  + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format  + is used when this option is not given. <em>log</em> is the default value for this  + option and lists the commits in that commit range like the <em>summary</em>  + option of <a href="git-submodule.html">git-submodule(1)</a> does.  +</p>  +</dd>  +<dt>   --color   </dt>   <dd>  @@ -1311,6 +1323,21 @@  </li>   <li>   <p>  +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gs</em>: reflog subject  +</p>  +</li>  +<li>  +<p>   <em>%Cred</em>: switch color to red   </p>   </li>  @@ -1351,6 +1378,20 @@  </li>   </ul></div>   </li>  +</ul></div>  +<div class="admonitionblock">  +<table><tr>  +<td class="icon">  +<div class="title">Note</div>  +</td>  +<td class="content">Some placeholders may depend on other options given to the  +revision traversal engine. For example, the <tt>%g*</tt> reflog options will  +insert an empty string unless we are traversing reflog entries (e.g., by  +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration  +format if <tt>--decorate</tt> was not already provided on the command line.</td>  +</tr></table>  +</div>  +<div class="ilist"><ul>   <li>   <p>   <em>tformat:</em>  @@ -1679,7 +1720,7 @@  </div></div>   <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is   involved. Especially, even for a creation or a deletion,  -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>  +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>   <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the   name of the source file of the rename/copy and the name of   the file that rename/copy produces, respectively.</p></div>  @@ -1972,7 +2013,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-29 08:35:00 UTC  +Last updated 2009-10-31 04:03:04 UTC   </div>   </div>   </body>  
diff --git a/git-diff.html b/git-diff.html index 375ed3f..914d4ab 100644 --- a/git-diff.html +++ b/git-diff.html 
@@ -334,7 +334,7 @@  <p>   This form is to view the changes you made relative to   the index (staging area for the next commit). In other  - words, the differences are what you _could_ tell git to  + words, the differences are what you <em>could</em> tell git to   further add to the index but you still haven't. You can   stage these changes by using <a href="git-add.html">git-add(1)</a>.   </p>  @@ -404,7 +404,7 @@  &lt;tree-ish&gt;.</p></div>   <div class="para"><p>For a more complete list of ways to spell &lt;commit&gt;, see   "SPECIFYING REVISIONS" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>.  -However, "diff" is about comparing two _endpoints_, not ranges,  +However, "diff" is about comparing two <em>endpoints</em>, not ranges,   and the range notations ("&lt;commit&gt;..&lt;commit&gt;" and   "&lt;commit&gt;...&lt;commit&gt;") do not mean a range as defined in the   "SPECIFYING RANGES" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div>  @@ -560,6 +560,18 @@  </p>   </dd>   <dt>  +--submodule[=&lt;format&gt;]  +</dt>  +<dd>  +<p>  + Chose the output format for submodule differences. &lt;format&gt; can be one of  + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format  + is used when this option is not given. <em>log</em> is the default value for this  + option and lists the commits in that commit range like the <em>summary</em>  + option of <a href="git-submodule.html">git-submodule(1)</a> does.  +</p>  +</dd>  +<dt>   --color   </dt>   <dd>  @@ -1166,7 +1178,7 @@  </div></div>   <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is   involved. Especially, even for a creation or a deletion,  -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>  +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>   <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the   name of the source file of the rename/copy and the name of   the file that rename/copy produces, respectively.</p></div>  @@ -1607,7 +1619,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-29 08:35:00 UTC  +Last updated 2009-10-31 04:03:04 UTC   </div>   </div>   </body>  
diff --git a/git-fetch.html b/git-fetch.html index 631d1d7..b3ee7ae 100644 --- a/git-fetch.html +++ b/git-fetch.html 
@@ -341,29 +341,6 @@  <div class="sectionbody">   <div class="vlist"><dl>   <dt>  --q  -</dt>  -<dt>  ---quiet  -</dt>  -<dd>  -<p>  - Pass --quiet to git-fetch-pack and silence any other internally  - used git commands.  -</p>  -</dd>  -<dt>  --v  -</dt>  -<dt>  ---verbose  -</dt>  -<dd>  -<p>  - Be verbose.  -</p>  -</dd>  -<dt>   -a   </dt>   <dt>  @@ -377,14 +354,13 @@  </p>   </dd>   <dt>  ---upload-pack &lt;upload-pack&gt;  +--depth=&lt;depth&gt;   </dt>   <dd>   <p>  - When given, and the repository to fetch from is handled  - by <em>git-fetch-pack</em>, <em>--exec=&lt;upload-pack&gt;</em> is passed to  - the command to specify non-default path for the command  - run on the other end.  + Deepen the history of a <em>shallow</em> repository created by  + <tt>git clone</tt> with <tt>--depth=&lt;depth&gt;</tt> option (see <a href="git-clone.html">git-clone(1)</a>)  + by the specified number of commits.   </p>   </dd>   <dt>  @@ -403,6 +379,17 @@  </p>   </dd>   <dt>  +-k  +</dt>  +<dt>  +--keep  +</dt>  +<dd>  +<p>  + Keep downloaded pack.  +</p>  +</dd>  +<dt>   -n   </dt>   <dt>  @@ -432,17 +419,6 @@  </p>   </dd>   <dt>  --k  -</dt>  -<dt>  ---keep  -</dt>  -<dd>  -<p>  - Keep downloaded pack.  -</p>  -</dd>  -<dt>   -u   </dt>   <dt>  @@ -459,13 +435,37 @@  </p>   </dd>   <dt>  ---depth=&lt;depth&gt;  +--upload-pack &lt;upload-pack&gt;   </dt>   <dd>   <p>  - Deepen the history of a <em>shallow</em> repository created by  - <tt>git clone</tt> with <tt>--depth=&lt;depth&gt;</tt> option (see <a href="git-clone.html">git-clone(1)</a>)  - by the specified number of commits.  + When given, and the repository to fetch from is handled  + by <em>git-fetch-pack</em>, <em>--exec=&lt;upload-pack&gt;</em> is passed to  + the command to specify non-default path for the command  + run on the other end.  +</p>  +</dd>  +<dt>  +-q  +</dt>  +<dt>  +--quiet  +</dt>  +<dd>  +<p>  + Pass --quiet to git-fetch-pack and silence any other internally  + used git commands.  +</p>  +</dd>  +<dt>  +-v  +</dt>  +<dt>  +--verbose  +</dt>  +<dd>  +<p>  + Be verbose.   </p>   </dd>   <dt>  @@ -786,6 +786,38 @@  <pre><tt> HEAD:refs/heads/&lt;head&gt;</tt></pre>   </div></div>   </div>  +<h2 id="_examples">EXAMPLES</h2>  +<div class="sectionbody">  +<div class="ilist"><ul>  +<li>  +<p>  +Update the remote-tracking branches:  +</p>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ git fetch origin</tt></pre>  +</div></div>  +<div class="para"><p>The above command copies all branches from the remote refs/heads/  +namespace and stores them to the local refs/remotes/origin/ namespace,  +unless the branch.&lt;name&gt;.fetch option is used to specify a non-default  +refspec.</p></div>  +</li>  +<li>  +<p>  +Using refspecs explicitly:  +</p>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ git fetch origin +pu:pu maint:tmp</tt></pre>  +</div></div>  +<div class="para"><p>This updates (or creates, as necessary) branches <tt>pu</tt> and <tt>tmp</tt> in  +the local repository by fetching from the branches (respectively)  +<tt>pu</tt> and <tt>maint</tt> from the remote repository.</p></div>  +<div class="para"><p>The <tt>pu</tt> branch will be updated even if it is does not fast-forward,  +because it is prefixed with a plus sign; <tt>tmp</tt> will not be.</p></div>  +</li>  +</ul></div>  +</div>   <h2 id="_see_also">SEE ALSO</h2>   <div class="sectionbody">   <div class="para"><p><a href="git-pull.html">git-pull(1)</a></p></div>  @@ -805,7 +837,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-09-13 09:50:53 UTC  +Last updated 2009-10-31 04:03:06 UTC   </div>   </div>   </body>  
diff --git a/git-fetch.txt b/git-fetch.txt index d3164c5..f2483d6 100644 --- a/git-fetch.txt +++ b/git-fetch.txt 
@@ -37,6 +37,35 @@    include::urls-remotes.txt[]   + +EXAMPLES +-------- + +* Update the remote-tracking branches: ++ +------------------------------------------------ +$ git fetch origin +------------------------------------------------ ++ +The above command copies all branches from the remote refs/heads/ +namespace and stores them to the local refs/remotes/origin/ namespace, +unless the branch.<name>.fetch option is used to specify a non-default +refspec. + +* Using refspecs explicitly: ++ +------------------------------------------------ +$ git fetch origin +pu:pu maint:tmp +------------------------------------------------ ++ +This updates (or creates, as necessary) branches `pu` and `tmp` in +the local repository by fetching from the branches (respectively) +`pu` and `maint` from the remote repository. ++ +The `pu` branch will be updated even if it is does not fast-forward, +because it is prefixed with a plus sign; `tmp` will not be. + +  SEE ALSO  --------  linkgit:git-pull[1] 
diff --git a/git-format-patch.html b/git-format-patch.html index 808982b..0f95803 100644 --- a/git-format-patch.html +++ b/git-format-patch.html 
@@ -527,6 +527,18 @@  </p>   </dd>   <dt>  +--submodule[=&lt;format&gt;]  +</dt>  +<dd>  +<p>  + Chose the output format for submodule differences. &lt;format&gt; can be one of  + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format  + is used when this option is not given. <em>log</em> is the default value for this  + option and lists the commits in that commit range like the <em>summary</em>  + option of <a href="git-submodule.html">git-submodule(1)</a> does.  +</p>  +</dd>  +<dt>   --color   </dt>   <dd>  @@ -1211,7 +1223,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-23 06:20:11 UTC  +Last updated 2009-10-31 04:03:06 UTC   </div>   </div>   </body>  
diff --git a/git-log.html b/git-log.html index 0c75489..cbf5e40 100644 --- a/git-log.html +++ b/git-log.html 
@@ -481,6 +481,18 @@  </p>   </dd>   <dt>  +--submodule[=&lt;format&gt;]  +</dt>  +<dd>  +<p>  + Chose the output format for submodule differences. &lt;format&gt; can be one of  + <em>short</em> and <em>log</em>. <em>short</em> just shows pairs of commit names, this format  + is used when this option is not given. <em>log</em> is the default value for this  + option and lists the commits in that commit range like the <em>summary</em>  + option of <a href="git-submodule.html">git-submodule(1)</a> does.  +</p>  +</dd>  +<dt>   --color   </dt>   <dd>  @@ -2025,6 +2037,21 @@  </li>   <li>   <p>  +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gs</em>: reflog subject  +</p>  +</li>  +<li>  +<p>   <em>%Cred</em>: switch color to red   </p>   </li>  @@ -2065,6 +2092,20 @@  </li>   </ul></div>   </li>  +</ul></div>  +<div class="admonitionblock">  +<table><tr>  +<td class="icon">  +<div class="title">Note</div>  +</td>  +<td class="content">Some placeholders may depend on other options given to the  +revision traversal engine. For example, the <tt>%g*</tt> reflog options will  +insert an empty string unless we are traversing reflog entries (e.g., by  +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration  +format if <tt>--decorate</tt> was not already provided on the command line.</td>  +</tr></table>  +</div>  +<div class="ilist"><ul>   <li>   <p>   <em>tformat:</em>  @@ -2121,7 +2162,7 @@  </div></div>   <div class="para"><p>The <tt>a/</tt> and <tt>b/</tt> filenames are the same unless rename/copy is   involved. Especially, even for a creation or a deletion,  -<tt>/dev/null</tt> is _not_ used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>  +<tt>/dev/null</tt> is <em>not</em> used in place of <tt>a/</tt> or <tt>b/</tt> filenames.</p></div>   <div class="para"><p>When rename/copy is involved, <tt>file1</tt> and <tt>file2</tt> show the   name of the source file of the rename/copy and the name of   the file that rename/copy produces, respectively.</p></div>  @@ -2426,7 +2467,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-08-26 01:35:04 UTC  +Last updated 2009-10-31 04:03:07 UTC   </div>   </div>   </body>  
diff --git a/git-merge.html b/git-merge.html index ece98e6..be674b3 100644 --- a/git-merge.html +++ b/git-merge.html 
@@ -337,6 +337,115 @@  <div class="sectionbody">   <div class="vlist"><dl>   <dt>  +--commit  +</dt>  +<dt>  +--no-commit  +</dt>  +<dd>  +<p>  + Perform the merge and commit the result. This option can  + be used to override --no-commit.  +</p>  +<div class="para"><p>With --no-commit perform the merge but pretend the merge  +failed and do not autocommit, to give the user a chance to  +inspect and further tweak the merge result before committing.</p></div>  +</dd>  +<dt>  +--ff  +</dt>  +<dt>  +--no-ff  +</dt>  +<dd>  +<p>  + Do not generate a merge commit if the merge resolved as  + a fast-forward, only update the branch pointer. This is  + the default behavior of git-merge.  +</p>  +<div class="para"><p>With --no-ff Generate a merge commit even if the merge  +resolved as a fast-forward.</p></div>  +</dd>  +<dt>  +--log  +</dt>  +<dt>  +--no-log  +</dt>  +<dd>  +<p>  + In addition to branch names, populate the log message with  + one-line descriptions from the actual commits that are being  + merged.  +</p>  +<div class="para"><p>With --no-log do not list one-line descriptions from the  +actual commits being merged.</p></div>  +</dd>  +<dt>  +--stat  +</dt>  +<dt>  +-n  +</dt>  +<dt>  +--no-stat  +</dt>  +<dd>  +<p>  + Show a diffstat at the end of the merge. The diffstat is also  + controlled by the configuration option merge.stat.  +</p>  +<div class="para"><p>With -n or --no-stat do not show a diffstat at the end of the  +merge.</p></div>  +</dd>  +<dt>  +--squash  +</dt>  +<dt>  +--no-squash  +</dt>  +<dd>  +<p>  + Produce the working tree and index state as if a real  + merge happened (except for the merge information),  + but do not actually make a commit or  + move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to  + cause the next <tt>git commit</tt> command to create a merge  + commit. This allows you to create a single commit on  + top of the current branch whose effect is the same as  + merging another branch (or more in case of an octopus).  +</p>  +<div class="para"><p>With --no-squash perform the merge and commit the result. This  +option can be used to override --squash.</p></div>  +</dd>  +<dt>  +-s &lt;strategy&gt;  +</dt>  +<dt>  +--strategy=&lt;strategy&gt;  +</dt>  +<dd>  +<p>  + Use the given merge strategy; can be supplied more than  + once to specify them in the order they should be tried.  + If there is no <tt>-s</tt> option, a built-in list of strategies  + is used instead (<em>git-merge-recursive</em> when merging a single  + head, <em>git-merge-octopus</em> otherwise).  +</p>  +</dd>  +<dt>  +--summary  +</dt>  +<dt>  +--no-summary  +</dt>  +<dd>  +<p>  + Synonyms to --stat and --no-stat; these are deprecated and will be  + removed in the future.  +</p>  +</dd>  +<dt>   -q   </dt>   <dt>  @@ -359,134 +468,6 @@  </p>   </dd>   <dt>  ---stat  -</dt>  -<dd>  -<p>  - Show a diffstat at the end of the merge. The diffstat is also  - controlled by the configuration option merge.stat.  -</p>  -</dd>  -<dt>  --n  -</dt>  -<dt>  ---no-stat  -</dt>  -<dd>  -<p>  - Do not show a diffstat at the end of the merge.  -</p>  -</dd>  -<dt>  ---summary  -</dt>  -<dt>  ---no-summary  -</dt>  -<dd>  -<p>  - Synonyms to --stat and --no-stat; these are deprecated and will be  - removed in the future.  -</p>  -</dd>  -<dt>  ---log  -</dt>  -<dd>  -<p>  - In addition to branch names, populate the log message with  - one-line descriptions from the actual commits that are being  - merged.  -</p>  -</dd>  -<dt>  ---no-log  -</dt>  -<dd>  -<p>  - Do not list one-line descriptions from the actual commits being  - merged.  -</p>  -</dd>  -<dt>  ---no-commit  -</dt>  -<dd>  -<p>  - Perform the merge but pretend the merge failed and do  - not autocommit, to give the user a chance to inspect and  - further tweak the merge result before committing.  -</p>  -</dd>  -<dt>  ---commit  -</dt>  -<dd>  -<p>  - Perform the merge and commit the result. This option can  - be used to override --no-commit.  -</p>  -</dd>  -<dt>  ---squash  -</dt>  -<dd>  -<p>  - Produce the working tree and index state as if a real  - merge happened (except for the merge information),  - but do not actually make a commit or  - move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to  - cause the next <tt>git commit</tt> command to create a merge  - commit. This allows you to create a single commit on  - top of the current branch whose effect is the same as  - merging another branch (or more in case of an octopus).  -</p>  -</dd>  -<dt>  ---no-squash  -</dt>  -<dd>  -<p>  - Perform the merge and commit the result. This option can  - be used to override --squash.  -</p>  -</dd>  -<dt>  ---no-ff  -</dt>  -<dd>  -<p>  - Generate a merge commit even if the merge resolved as a  - fast-forward.  -</p>  -</dd>  -<dt>  ---ff  -</dt>  -<dd>  -<p>  - Do not generate a merge commit if the merge resolved as  - a fast-forward, only update the branch pointer. This is  - the default behavior of git-merge.  -</p>  -</dd>  -<dt>  --s &lt;strategy&gt;  -</dt>  -<dt>  ---strategy=&lt;strategy&gt;  -</dt>  -<dd>  -<p>  - Use the given merge strategy; can be supplied more than  - once to specify them in the order they should be tried.  - If there is no <tt>-s</tt> option, a built-in list of strategies  - is used instead (<em>git-merge-recursive</em> when merging a single  - head, <em>git-merge-octopus</em> otherwise).  -</p>  -</dd>  -<dt>   -m &lt;msg&gt;   </dt>   <dd>  @@ -900,6 +881,46 @@  </li>   </ul></div>   </div>  +<h2 id="_examples">EXAMPLES</h2>  +<div class="sectionbody">  +<div class="ilist"><ul>  +<li>  +<p>  +Merge branches <tt>fixes</tt> and <tt>enhancements</tt> on top of  + the current branch, making an octopus merge:  +</p>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ git merge fixes enhancements</tt></pre>  +</div></div>  +</li>  +<li>  +<p>  +Merge branch <tt>obsolete</tt> into the current branch, using <tt>ours</tt>  + merge strategy:  +</p>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ git merge -s ours obsolete</tt></pre>  +</div></div>  +</li>  +<li>  +<p>  +Merge branch <tt>maint</tt> into the current branch, but do not make  + a new commit automatically:  +</p>  +<div class="listingblock">  +<div class="content">  +<pre><tt>$ git merge --no-commit maint</tt></pre>  +</div></div>  +<div class="para"><p>This can be used when you want to include further changes to the  +merge, or want to write your own merge commit message.</p></div>  +<div class="para"><p>You should refrain from abusing this option to sneak substantial  +changes into a merge commit. Small fixups like bumping  +release/version name would be acceptable.</p></div>  +</li>  +</ul></div>  +</div>   <h2 id="_see_also">SEE ALSO</h2>   <div class="sectionbody">   <div class="para"><p><a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>, <a href="git-pull.html">git-pull(1)</a>,  @@ -923,7 +944,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-10-10 00:56:05 UTC  +Last updated 2009-10-31 04:03:07 UTC   </div>   </div>   </body>  
diff --git a/git-merge.txt b/git-merge.txt index d05f324..e886c2e 100644 --- a/git-merge.txt +++ b/git-merge.txt 
@@ -212,6 +212,39 @@  common ancestor, 'git show :2:filename' shows the HEAD  version and 'git show :3:filename' shows the remote version.   + +EXAMPLES +-------- + +* Merge branches `fixes` and `enhancements` on top of + the current branch, making an octopus merge: ++ +------------------------------------------------ +$ git merge fixes enhancements +------------------------------------------------ + +* Merge branch `obsolete` into the current branch, using `ours` + merge strategy: ++ +------------------------------------------------ +$ git merge -s ours obsolete +------------------------------------------------ + +* Merge branch `maint` into the current branch, but do not make + a new commit automatically: ++ +------------------------------------------------ +$ git merge --no-commit maint +------------------------------------------------ ++ +This can be used when you want to include further changes to the +merge, or want to write your own merge commit message. ++ +You should refrain from abusing this option to sneak substantial +changes into a merge commit. Small fixups like bumping +release/version name would be acceptable. + +  SEE ALSO  --------  linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1], 
diff --git a/git-pull.html b/git-pull.html index 2ec5906..fc27eae 100644 --- a/git-pull.html +++ b/git-pull.html 
@@ -335,8 +335,118 @@  </div>   <h2 id="_options">OPTIONS</h2>   <div class="sectionbody">  +<h3 id="_options_related_to_merging">Options related to merging</h3><div style="clear:left"></div>   <div class="vlist"><dl>   <dt>  +--commit  +</dt>  +<dt>  +--no-commit  +</dt>  +<dd>  +<p>  + Perform the merge and commit the result. This option can  + be used to override --no-commit.  +</p>  +<div class="para"><p>With --no-commit perform the merge but pretend the merge  +failed and do not autocommit, to give the user a chance to  +inspect and further tweak the merge result before committing.</p></div>  +</dd>  +<dt>  +--ff  +</dt>  +<dt>  +--no-ff  +</dt>  +<dd>  +<p>  + Do not generate a merge commit if the merge resolved as  + a fast-forward, only update the branch pointer. This is  + the default behavior of git-merge.  +</p>  +<div class="para"><p>With --no-ff Generate a merge commit even if the merge  +resolved as a fast-forward.</p></div>  +</dd>  +<dt>  +--log  +</dt>  +<dt>  +--no-log  +</dt>  +<dd>  +<p>  + In addition to branch names, populate the log message with  + one-line descriptions from the actual commits that are being  + merged.  +</p>  +<div class="para"><p>With --no-log do not list one-line descriptions from the  +actual commits being merged.</p></div>  +</dd>  +<dt>  +--stat  +</dt>  +<dt>  +-n  +</dt>  +<dt>  +--no-stat  +</dt>  +<dd>  +<p>  + Show a diffstat at the end of the merge. The diffstat is also  + controlled by the configuration option merge.stat.  +</p>  +<div class="para"><p>With -n or --no-stat do not show a diffstat at the end of the  +merge.</p></div>  +</dd>  +<dt>  +--squash  +</dt>  +<dt>  +--no-squash  +</dt>  +<dd>  +<p>  + Produce the working tree and index state as if a real  + merge happened (except for the merge information),  + but do not actually make a commit or  + move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to  + cause the next <tt>git commit</tt> command to create a merge  + commit. This allows you to create a single commit on  + top of the current branch whose effect is the same as  + merging another branch (or more in case of an octopus).  +</p>  +<div class="para"><p>With --no-squash perform the merge and commit the result. This  +option can be used to override --squash.</p></div>  +</dd>  +<dt>  +-s &lt;strategy&gt;  +</dt>  +<dt>  +--strategy=&lt;strategy&gt;  +</dt>  +<dd>  +<p>  + Use the given merge strategy; can be supplied more than  + once to specify them in the order they should be tried.  + If there is no <tt>-s</tt> option, a built-in list of strategies  + is used instead (<em>git-merge-recursive</em> when merging a single  + head, <em>git-merge-octopus</em> otherwise).  +</p>  +</dd>  +<dt>  +--summary  +</dt>  +<dt>  +--no-summary  +</dt>  +<dd>  +<p>  + Synonyms to --stat and --no-stat; these are deprecated and will be  + removed in the future.  +</p>  +</dd>  +<dt>   -q   </dt>   <dt>  @@ -358,134 +468,6 @@  Be verbose.   </p>   </dd>  -<dt>  ---stat  -</dt>  -<dd>  -<p>  - Show a diffstat at the end of the merge. The diffstat is also  - controlled by the configuration option merge.stat.  -</p>  -</dd>  -<dt>  --n  -</dt>  -<dt>  ---no-stat  -</dt>  -<dd>  -<p>  - Do not show a diffstat at the end of the merge.  -</p>  -</dd>  -<dt>  ---summary  -</dt>  -<dt>  ---no-summary  -</dt>  -<dd>  -<p>  - Synonyms to --stat and --no-stat; these are deprecated and will be  - removed in the future.  -</p>  -</dd>  -<dt>  ---log  -</dt>  -<dd>  -<p>  - In addition to branch names, populate the log message with  - one-line descriptions from the actual commits that are being  - merged.  -</p>  -</dd>  -<dt>  ---no-log  -</dt>  -<dd>  -<p>  - Do not list one-line descriptions from the actual commits being  - merged.  -</p>  -</dd>  -<dt>  ---no-commit  -</dt>  -<dd>  -<p>  - Perform the merge but pretend the merge failed and do  - not autocommit, to give the user a chance to inspect and  - further tweak the merge result before committing.  -</p>  -</dd>  -<dt>  ---commit  -</dt>  -<dd>  -<p>  - Perform the merge and commit the result. This option can  - be used to override --no-commit.  -</p>  -</dd>  -<dt>  ---squash  -</dt>  -<dd>  -<p>  - Produce the working tree and index state as if a real  - merge happened (except for the merge information),  - but do not actually make a commit or  - move the <tt>HEAD</tt>, nor record <tt>$GIT_DIR/MERGE_HEAD</tt> to  - cause the next <tt>git commit</tt> command to create a merge  - commit. This allows you to create a single commit on  - top of the current branch whose effect is the same as  - merging another branch (or more in case of an octopus).  -</p>  -</dd>  -<dt>  ---no-squash  -</dt>  -<dd>  -<p>  - Perform the merge and commit the result. This option can  - be used to override --squash.  -</p>  -</dd>  -<dt>  ---no-ff  -</dt>  -<dd>  -<p>  - Generate a merge commit even if the merge resolved as a  - fast-forward.  -</p>  -</dd>  -<dt>  ---ff  -</dt>  -<dd>  -<p>  - Do not generate a merge commit if the merge resolved as  - a fast-forward, only update the branch pointer. This is  - the default behavior of git-merge.  -</p>  -</dd>  -<dt>  --s &lt;strategy&gt;  -</dt>  -<dt>  ---strategy=&lt;strategy&gt;  -</dt>  -<dd>  -<p>  - Use the given merge strategy; can be supplied more than  - once to specify them in the order they should be tried.  - If there is no <tt>-s</tt> option, a built-in list of strategies  - is used instead (<em>git-merge-recursive</em> when merging a single  - head, <em>git-merge-octopus</em> otherwise).  -</p>  -</dd>   </dl></div>   <div class="vlist"><dl>   <dt>  @@ -505,7 +487,7 @@  <td class="icon">   <div class="title">Note</div>   </td>  -<td class="content">This is a potentially _dangerous_ mode of operation.  +<td class="content">This is a potentially <em>dangerous</em> mode of operation.   It rewrites history, which does not bode well when you   published that history already. Do <strong>not</strong> use this option   unless you have read <a href="git-rebase.html">git-rebase(1)</a> carefully.</td>  @@ -520,6 +502,9 @@  Override earlier --rebase.   </p>   </dd>  +</dl></div>  +<h3 id="_options_related_to_fetching">Options related to fetching</h3><div style="clear:left"></div>  +<div class="vlist"><dl>   <dt>   -a   </dt>  @@ -534,14 +519,13 @@  </p>   </dd>   <dt>  ---upload-pack &lt;upload-pack&gt;  +--depth=&lt;depth&gt;   </dt>   <dd>   <p>  - When given, and the repository to fetch from is handled  - by <em>git-fetch-pack</em>, <em>--exec=&lt;upload-pack&gt;</em> is passed to  - the command to specify non-default path for the command  - run on the other end.  + Deepen the history of a <em>shallow</em> repository created by  + <tt>git clone</tt> with <tt>--depth=&lt;depth&gt;</tt> option (see <a href="git-clone.html">git-clone(1)</a>)  + by the specified number of commits.   </p>   </dd>   <dt>  @@ -560,6 +544,17 @@  </p>   </dd>   <dt>  +-k  +</dt>  +<dt>  +--keep  +</dt>  +<dd>  +<p>  + Keep downloaded pack.  +</p>  +</dd>  +<dt>   --no-tags   </dt>   <dd>  @@ -586,17 +581,6 @@  </p>   </dd>   <dt>  --k  -</dt>  -<dt>  ---keep  -</dt>  -<dd>  -<p>  - Keep downloaded pack.  -</p>  -</dd>  -<dt>   -u   </dt>   <dt>  @@ -613,13 +597,14 @@  </p>   </dd>   <dt>  ---depth=&lt;depth&gt;  +--upload-pack &lt;upload-pack&gt;   </dt>   <dd>   <p>  - Deepen the history of a <em>shallow</em> repository created by  - <tt>git clone</tt> with <tt>--depth=&lt;depth&gt;</tt> option (see <a href="git-clone.html">git-clone(1)</a>)  - by the specified number of commits.  + When given, and the repository to fetch from is handled  + by <em>git-fetch-pack</em>, <em>--exec=&lt;upload-pack&gt;</em> is passed to  + the command to specify non-default path for the command  + run on the other end.   </p>   </dd>   <dt>  @@ -1093,60 +1078,13 @@  <pre><tt>$ git pull origin next</tt></pre>   </div></div>   <div class="para"><p>This leaves a copy of <tt>next</tt> temporarily in FETCH_HEAD, but  -does not update any remote-tracking branches.</p></div>  -</li>  -<li>  -<p>  -Bundle local branch <tt>fixes</tt> and <tt>enhancements</tt> on top of  - the current branch, making an Octopus merge:  -</p>  +does not update any remote-tracking branches. Using remote-tracking  +branches, the same can be done by invoking fetch and merge:</p></div>   <div class="listingblock">   <div class="content">  -<pre><tt>$ git pull . fixes enhancements</tt></pre>  +<pre><tt>$ git fetch origin  +$ git merge origin/next</tt></pre>   </div></div>  -<div class="para"><p>This <tt>git pull .</tt> syntax is equivalent to <tt>git merge</tt>.</p></div>  -</li>  -<li>  -<p>  -Merge local branch <tt>obsolete</tt> into the current branch, using <tt>ours</tt>  - merge strategy:  -</p>  -<div class="listingblock">  -<div class="content">  -<pre><tt>$ git pull -s ours . obsolete</tt></pre>  -</div></div>  -</li>  -<li>  -<p>  -Merge local branch <tt>maint</tt> into the current branch, but do not make  - a commit automatically:  -</p>  -<div class="listingblock">  -<div class="content">  -<pre><tt>$ git pull --no-commit . maint</tt></pre>  -</div></div>  -<div class="para"><p>This can be used when you want to include further changes to the  -merge, or want to write your own merge commit message.</p></div>  -<div class="para"><p>You should refrain from abusing this option to sneak substantial  -changes into a merge commit. Small fixups like bumping  -release/version name would be acceptable.</p></div>  -</li>  -<li>  -<p>  -Command line pull of multiple branches from one repository:  -</p>  -<div class="listingblock">  -<div class="content">  -<pre><tt>$ git checkout master  -$ git fetch origin +pu:pu maint:tmp  -$ git pull . tmp</tt></pre>  -</div></div>  -<div class="para"><p>This updates (or creates, as necessary) branches <tt>pu</tt> and <tt>tmp</tt> in  -the local repository by fetching from the branches (respectively)  -<tt>pu</tt> and <tt>maint</tt> from the remote repository.</p></div>  -<div class="para"><p>The <tt>pu</tt> branch will be updated even if it is does not fast-forward;  -the others will not be.</p></div>  -<div class="para"><p>The final command then merges the newly fetched <tt>tmp</tt> into master.</p></div>   </li>   </ul></div>   <div class="para"><p>If you tried a pull which resulted in a complex conflicts and  @@ -1173,7 +1111,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-09-13 09:50:53 UTC  +Last updated 2009-10-31 04:03:08 UTC   </div>   </div>   </body>  
diff --git a/git-pull.txt b/git-pull.txt index 7578623..b932011 100644 --- a/git-pull.txt +++ b/git-pull.txt 
@@ -26,6 +26,10 @@    OPTIONS  ------- + +Options related to merging +~~~~~~~~~~~~~~~~~~~~~~~~~~ +  include::merge-options.txt[]    :git-pull: 1 @@ -47,6 +51,9 @@  --no-rebase:: 	Override earlier --rebase.   +Options related to fetching +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +  include::fetch-options.txt[]    include::pull-fetch-param.txt[] @@ -131,54 +138,13 @@  ------------------------------------------------  +  This leaves a copy of `next` temporarily in FETCH_HEAD, but -does not update any remote-tracking branches. - -* Bundle local branch `fixes` and `enhancements` on top of - the current branch, making an Octopus merge: +does not update any remote-tracking branches. Using remote-tracking +branches, the same can be done by invoking fetch and merge:  +  ------------------------------------------------ -$ git pull . fixes enhancements +$ git fetch origin +$ git merge origin/next  ------------------------------------------------ -+ -This `git pull .` syntax is equivalent to `git merge`. - -* Merge local branch `obsolete` into the current branch, using `ours` - merge strategy: -+ ------------------------------------------------- -$ git pull -s ours . obsolete ------------------------------------------------- - -* Merge local branch `maint` into the current branch, but do not make - a commit automatically: -+ ------------------------------------------------- -$ git pull --no-commit . maint ------------------------------------------------- -+ -This can be used when you want to include further changes to the -merge, or want to write your own merge commit message. -+ -You should refrain from abusing this option to sneak substantial -changes into a merge commit. Small fixups like bumping -release/version name would be acceptable. - -* Command line pull of multiple branches from one repository: -+ ------------------------------------------------- -$ git checkout master -$ git fetch origin +pu:pu maint:tmp -$ git pull . tmp ------------------------------------------------- -+ -This updates (or creates, as necessary) branches `pu` and `tmp` in -the local repository by fetching from the branches (respectively) -`pu` and `maint` from the remote repository. -+ -The `pu` branch will be updated even if it is does not fast-forward; -the others will not be. -+ -The final command then merges the newly fetched `tmp` into master.      If you tried a pull which resulted in a complex conflicts and 
diff --git a/git-rev-list.html b/git-rev-list.html index fae3111..ba78c34 100644 --- a/git-rev-list.html +++ b/git-rev-list.html 
@@ -1587,6 +1587,21 @@  </li>   <li>   <p>  +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gs</em>: reflog subject  +</p>  +</li>  +<li>  +<p>   <em>%Cred</em>: switch color to red   </p>   </li>  @@ -1627,6 +1642,20 @@  </li>   </ul></div>   </li>  +</ul></div>  +<div class="admonitionblock">  +<table><tr>  +<td class="icon">  +<div class="title">Note</div>  +</td>  +<td class="content">Some placeholders may depend on other options given to the  +revision traversal engine. For example, the <tt>%g*</tt> reflog options will  +insert an empty string unless we are traversing reflog entries (e.g., by  +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration  +format if <tt>--decorate</tt> was not already provided on the command line.</td>  +</tr></table>  +</div>  +<div class="ilist"><ul>   <li>   <p>   <em>tformat:</em>  @@ -1676,7 +1705,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-08-13 01:22:27 UTC  +Last updated 2009-10-31 04:03:08 UTC   </div>   </div>   </body>  
diff --git a/git-show.html b/git-show.html index a855dbf..2845625 100644 --- a/git-show.html +++ b/git-show.html 
@@ -689,6 +689,21 @@  </li>   <li>   <p>  +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gs</em>: reflog subject  +</p>  +</li>  +<li>  +<p>   <em>%Cred</em>: switch color to red   </p>   </li>  @@ -729,6 +744,20 @@  </li>   </ul></div>   </li>  +</ul></div>  +<div class="admonitionblock">  +<table><tr>  +<td class="icon">  +<div class="title">Note</div>  +</td>  +<td class="content">Some placeholders may depend on other options given to the  +revision traversal engine. For example, the <tt>%g*</tt> reflog options will  +insert an empty string unless we are traversing reflog entries (e.g., by  +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration  +format if <tt>--decorate</tt> was not already provided on the command line.</td>  +</tr></table>  +</div>  +<div class="ilist"><ul>   <li>   <p>   <em>tformat:</em>  @@ -895,7 +924,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-01 02:31:03 UTC  +Last updated 2009-10-31 04:03:09 UTC   </div>   </div>   </body>  
diff --git a/git-stash.html b/git-stash.html index 1b60582..860e38e 100644 --- a/git-stash.html +++ b/git-stash.html 
@@ -360,7 +360,7 @@  Save your local modifications to a new <em>stash</em>, and run <tt>git reset   --hard</tt> to revert them. The &lt;message&gt; part is optional and gives   the description along with the stashed state. For quickly making  - a snapshot, you can omit _both_ "save" and &lt;message&gt;, but giving  + a snapshot, you can omit <em>both</em> "save" and &lt;message&gt;, but giving   only &lt;message&gt; does not trigger this action to prevent a misspelled   subcommand from making an unwanted stash.   </p>  @@ -392,8 +392,7 @@  stash@{1}: On master: 9cc0589... Add git-stash</tt></pre>   </div></div>   <div class="para"><p>The command takes options applicable to the <em>git-log</em>  -command to control what is shown and how. If no options are set, the  -default is <tt>-n 10</tt>. See <a href="git-log.html">git-log(1)</a>.</p></div>  +command to control what is shown and how. See <a href="git-log.html">git-log(1)</a>.</p></div>   </dd>   <dt>   show [&lt;stash&gt;]  @@ -616,7 +615,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-10-13 09:06:18 UTC  +Last updated 2009-10-31 04:03:09 UTC   </div>   </div>   </body>  
diff --git a/git-stash.txt b/git-stash.txt index fafe728..3f14b72 100644 --- a/git-stash.txt +++ b/git-stash.txt 
@@ -78,8 +78,7 @@  ----------------------------------------------------------------  +  The command takes options applicable to the 'git-log' -command to control what is shown and how. If no options are set, the -default is `-n 10`. See linkgit:git-log[1]. +command to control what is shown and how. See linkgit:git-log[1].    show [<stash>]::   
diff --git a/git-whatchanged.html b/git-whatchanged.html index 8a339f1..2c7b361 100644 --- a/git-whatchanged.html +++ b/git-whatchanged.html 
@@ -721,6 +721,21 @@  </li>   <li>   <p>  +<em>%gD</em>: reflog selector, e.g., <tt>refs/stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gd</em>: shortened reflog selector, e.g., <tt>stash@{1}</tt>  +</p>  +</li>  +<li>  +<p>  +<em>%gs</em>: reflog subject  +</p>  +</li>  +<li>  +<p>   <em>%Cred</em>: switch color to red   </p>   </li>  @@ -761,6 +776,20 @@  </li>   </ul></div>   </li>  +</ul></div>  +<div class="admonitionblock">  +<table><tr>  +<td class="icon">  +<div class="title">Note</div>  +</td>  +<td class="content">Some placeholders may depend on other options given to the  +revision traversal engine. For example, the <tt>%g*</tt> reflog options will  +insert an empty string unless we are traversing reflog entries (e.g., by  +<tt>git log -g</tt>). The <tt>%d</tt> placeholder will use the "short" decoration  +format if <tt>--decorate</tt> was not already provided on the command line.</td>  +</tr></table>  +</div>  +<div class="ilist"><ul>   <li>   <p>   <em>tformat:</em>  @@ -834,7 +863,7 @@  </div>   <div id="footer">   <div id="footer-text">  -Last updated 2009-07-01 02:31:07 UTC  +Last updated 2009-10-31 04:03:10 UTC   </div>   </div>   </body>  
diff --git a/merge-options.txt b/merge-options.txt index adadf8e..48d04a5 100644 --- a/merge-options.txt +++ b/merge-options.txt 
@@ -1,43 +1,42 @@ --q:: ---quiet:: -	Operate quietly. +--commit:: +--no-commit:: +	Perform the merge and commit the result. This option can +	be used to override --no-commit. ++ +With --no-commit perform the merge but pretend the merge +failed and do not autocommit, to give the user a chance to +inspect and further tweak the merge result before committing.   --v:: ---verbose:: -	Be verbose. - ---stat:: -	Show a diffstat at the end of the merge. The diffstat is also -	controlled by the configuration option merge.stat. - --n:: ---no-stat:: -	Do not show a diffstat at the end of the merge. - ---summary:: ---no-summary:: -	Synonyms to --stat and --no-stat; these are deprecated and will be -	removed in the future. +--ff:: +--no-ff:: +	Do not generate a merge commit if the merge resolved as +	a fast-forward, only update the branch pointer. This is +	the default behavior of git-merge. ++ +With --no-ff Generate a merge commit even if the merge +resolved as a fast-forward.    --log:: +--no-log:: 	In addition to branch names, populate the log message with 	one-line descriptions from the actual commits that are being 	merged. ++ +With --no-log do not list one-line descriptions from the +actual commits being merged.   ---no-log:: -	Do not list one-line descriptions from the actual commits being -	merged.   ---no-commit:: -	Perform the merge but pretend the merge failed and do -	not autocommit, to give the user a chance to inspect and -	further tweak the merge result before committing. - ---commit:: -	Perform the merge and commit the result. This option can -	be used to override --no-commit. +--stat:: +-n:: +--no-stat:: +	Show a diffstat at the end of the merge. The diffstat is also +	controlled by the configuration option merge.stat. ++ +With -n or --no-stat do not show a diffstat at the end of the +merge.    --squash:: +--no-squash:: 	Produce the working tree and index state as if a real 	merge happened (except for the merge information), 	but do not actually make a commit or @@ -46,19 +45,9 @@ 	commit. This allows you to create a single commit on 	top of the current branch whose effect is the same as 	merging another branch (or more in case of an octopus). - ---no-squash:: -	Perform the merge and commit the result. This option can -	be used to override --squash. - ---no-ff:: -	Generate a merge commit even if the merge resolved as a -	fast-forward. - ---ff:: -	Do not generate a merge commit if the merge resolved as -	a fast-forward, only update the branch pointer. This is -	the default behavior of git-merge. ++ +With --no-squash perform the merge and commit the result. This +option can be used to override --squash.    -s <strategy>::  --strategy=<strategy>:: @@ -67,3 +56,16 @@ 	If there is no `-s` option, a built-in list of strategies 	is used instead ('git-merge-recursive' when merging a single 	head, 'git-merge-octopus' otherwise). + +--summary:: +--no-summary:: +	Synonyms to --stat and --no-stat; these are deprecated and will be +	removed in the future. + +-q:: +--quiet:: +	Operate quietly. + +-v:: +--verbose:: +	Be verbose. 
diff --git a/pretty-formats.txt b/pretty-formats.txt index 2a845b1..38b9904 100644 --- a/pretty-formats.txt +++ b/pretty-formats.txt 
@@ -123,6 +123,9 @@  - '%s': subject  - '%f': sanitized subject line, suitable for a filename  - '%b': body +- '%gD': reflog selector, e.g., `refs/stash@\{1\}` +- '%gd': shortened reflog selector, e.g., `stash@\{1\}` +- '%gs': reflog subject  - '%Cred': switch color to red  - '%Cgreen': switch color to green  - '%Cblue': switch color to blue @@ -132,6 +135,12 @@  - '%n': newline  - '%x00': print a byte from a hex code   +NOTE: Some placeholders may depend on other options given to the +revision traversal engine. For example, the `%g*` reflog options will +insert an empty string unless we are traversing reflog entries (e.g., by +`git log -g`). The `%d` placeholder will use the "short" decoration +format if `--decorate` was not already provided on the command line. +  * 'tformat:'  +  The 'tformat:' format works exactly like 'format:', except that it